Summation

Summation is the operation of combining a sequence of numbers using addition; the result is their sum or total. An interim or present total of a summation process is termed the running total. The numbers to be summed may be integers, rational numbers, real numbers, or complex numbers, and other types of values than numbers can be added as well: vectors, matrices, polynomials, and in general elements of any additive group (or even monoid). For finite sequences of such elements, summation always produces a well-defined sum (possibly by virtue of the convention for empty sums).

Summation of an infinite sequence of values is not always possible, and when a value can be given for an infinite summation, this involves more than just the addition operation, namely also the notion of a limit. Such infinite summations are known as series. Another notion involving limits of finite sums is integration. The term summation has a special meaning related to extrapolation in the context of divergent series.

The summation of the sequence [1, 2, 4, 2] is an expression whose value, the sum of the sequence, is defined to be that of the repeated addition 1 + 2 + 4 + 2, namely 9. Since addition is associative the value does not depend on how the additions are grouped, for instance (1 + 2) + (4 + 2) and 1 + ((2 + 4) + 2) both have the value 9; therefore parentheses are usually omitted in repeated additions. Addition is also commutative, so permuting the terms of a finite sequence does not change its sum. (For infinite summations this property may fail; see absolute convergence for conditions under which it still holds.)

There is no special notation for summation of such explicitly given sequences, as the corresponding repeated addition expression will do (but such an expression does not exist for the summation of an empty sequence; one may substitute "0" for such a summation). If however the terms of the sequence are given by regular pattern, possibly of variable length, then use of a summation operator may be useful or even essential. For the summation of the sequence of consecutive integers from 1 to 100 one could use an addition expression involving an ellipsis to mark out the missing terms: 1 + 2 + 3 + ... + 99 + 100. In this case the reader easily guesses the pattern; however for more complicated patterns, one needs to be precise about the rule used to find successive terms, which can be achieved by using the summation operator "Σ". Using this notation the above summation is written

\sum_{i=1}^{100}i.

The value of this summation is 5050. It can be found without performing 99 additions, since it can be shown (for instance by mathematical induction) that

\sum_{i=1}^ni = \frac{n^2+n}2

for all natural numbers n. More generally, formulas exist for many summations of terms following a regular pattern.

The term "indefinite summation" refers to the search for an inverse image of a given infinite sequence s of values for the forward difference operator, in other words for a sequence, called antidifference of s, whose finite differences are given by s. By contrast, summation as discussed in this article is called "definite summation".

Contents

Capital-sigma notation

Mathematical notation uses a symbol that compactly represents summation of many similar terms: the summation symbol ∑ (U+2211), a large upright capital Sigma. This is defined thus:

\sum_{i=m}^n x_i = x_m + x_{m+1} + x_{m+2} +\dots+ x_{n-1} + x_n.

The subscript gives the symbol for an index variable, i. Here, i represents the index of summation; m is the lower bound of summation, and n is the upper bound of summation. Here i = m under the summation symbol means that the index i starts out equal to m. Successive values of i are found by adding 1 to the previous value of i, stopping when i = n. An example:

\sum_{k=2}^6 k^2 = 2^2+3^2+4^2+5^2+6^2 = 90.

Informal writing sometimes omits the definition of the index and bounds of summation when these are clear from context, as in

\sum x_i^2 = \sum_{i=1}^n x_i^2.

One often sees generalizations of this notation in which an arbitrary logical condition is supplied, and the sum is intended to be taken over all values satisfying the condition. For example:

\sum_{0\le k< 100} f(k)

is the sum of f(k) over all (integer) k in the specified range,

\sum_{x\in S} f(x)

is the sum of f(x) over all elements x in the set S, and

\sum_{d|n}\;\mu(d)

is the sum of μ(d) over all integers d dividing n.[1]

There are also ways to generalize the use of many sigma signs. For example,

\sum_{\ell,\ell'}

is the same as

\sum_\ell\sum_{\ell'}.

A similar notation is applied when it comes to finding multiplicative products; the same basic structure is used, with ∏, or the capital pi, replacing the ∑.

Programming language notation

Summations can also be represented in a programming language. Some languages use a notation for summation similar to the mathematical one. For example, this is Python:

sum(x[m:n+1])

and this is the Perl equivalent of the above Python:

use List::Util 'sum';
sum($m..$n);

and this is the PHP equivalent of the above Python:

$sum = array_sum($x);

and this is Fortran (or MATLAB and Octave):

sum(x(m:n))

and this is Haskell:

sum x

and this is Scheme:

 

and this is Erlang:

lists:sum(X).

and this is J (or APL):

+/x

and this is TI-BASIC

sum(seq(x,x,m,n[,1]))
#text in [brackets] is optional

In other languages loops are used, as in the following Visual Basic/VBScript program:

 Sum = 0
 For I = M To N
     Sum = Sum + X(I)
 Next I

or the following C/C++/C#/Java code, which assumes that the variables m and n are defined as integer types no wider than int, such that m ≤ n, and that the variable x is defined as an array of values of integer type no wider than int, containing at least m − n + 1 defined elements:

int i;
int sum = 0;
for (i = m; i <= n; i++) {
   sum += x[i];
}

In some cases a loop can be written more concisely, as in this Perl code:

$sum += $x[$_] for ($m..$n);

or these alternative Ruby expressions:

x[m..n].inject{|a,b| a+b}
x[m..n].inject(0){|a,b| a+b}

or in C++, using its standard library:

std::accumulate(&x[m], &x[n + 1], 0)

when x is a built-in array or a std::vector.

Note that most of these examples begin by initializing the sum variable to 0, the identity element for addition. (See "special cases" below).

Also note that the ∑ notation evaluates to a definite value, while most of the loop constructs used above are only valid in an imperative programming language's statement context, requiring the use of an extra variable to hold the final value. It is the variable which would then be used in a larger expression.

The exact meaning of ∑, and therefore its translation into a programming language, changes depending on the data type of the subscript and upper bound. In other words, ∑ is an overloaded symbol.

In the above examples, the subscript of ∑ was translated into an assignment statement to an index variable at the beginning of a for loop. But the subscript is not always an assignment statement. Sometimes the subscript sets up the iterator for a foreach loop, and sometimes the subscript is itself an array, with no index variable or iterator provided. Other times, the subscript is merely a Boolean expression that contains an embedded variable, implying to a human, but not to a computer, that every value of the variable should be used where the Boolean expression evaluates to true.

In the example below:

\sum_{x\in S} f(x)

x is an iterator, which implies a foreach loop, but S is a set, which is an array-like data structure that can store values of mixed type. The summation routine for a set would have to account for the fact that it is possible to store non-numerical data in a set.

The return value of ∑ is a scalar in all examples given above.

Special cases

It is possible to sum fewer than 2 numbers:

These degenerate cases are usually only used when the summation notation gives a degenerate result in a special case. For example, if m = n in the definition above, then there is only one term in the sum; if m > n, then there is none.

Measure theory notation

In the notation of measure & integration theory, a sum can be expressed as a definite integral,

\sum_{k=a}^b f(k) = \int_{[a,b]} f\,d\mu

where [a,b] is the subset of the integers from a to b, and where μ is the counting measure.

Fundamental theorem of discrete calculus

Indefinite sums can be used to calculate definite sums with the formula[2]:

\sum_{k=a}^b f(k)=\Delta^{-1}f(b+1)-\Delta^{-1}f(a)

Approximation by definite integrals

Many such approximations can be obtained by the following connection between sums and integrals, which holds for any:

increasing function f:

\int_{s=a-1}^{b} f(s)\ ds \le \sum_{i=a}^{b} f(i) \le \int_{s=a}^{b+1} f(s)\ ds.

decreasing function f:

\int_{s=a}^{b+1} f(s)\ ds \le \sum_{i=a}^{b} f(i) \le \int_{s=a-1}^{b} f(s)\ ds.

For more general approximations, see the Euler–Maclaurin formula.

For functions that are integrable on the interval [a, b], the Riemann sum can be used as an approximation of the definite integral. For example, the following formula is the left Riemann sum with equal partitioning of the interval:

\frac{b-a}{n}\sum_{i=0}^{n-1} f\left(a+i\frac{b-a}n\right) \approx \int_a^b f(x)\ dx.

The accuracy of such an approximation increases with the number n of subintervals, such that:

\lim_{n\rightarrow \infty} \frac{b-a}{n}\sum_{i=0}^{n-1} f\left(a+i\frac{b-a}n\right) = \int_a^b f(x)\ dx.

Identities

The formulas below involve finite sums; for infinite summations see list of mathematical series

General manipulations

\sum_{n=s}^t C\sdot f(n) = C\sdot \sum_{n=s}^t f(n), where C is a constant
\sum_{n=s}^t f(n) + \sum_{n=s}^{t} g(n) = \sum_{n=s}^t \left[f(n) + g(n)\right]
\sum_{n=s}^t f(n) - \sum_{n=s}^{t} g(n) = \sum_{n=s}^t \left[f(n) - g(n)\right]
\sum_{n=s}^t f(n) = \sum_{n=s+p}^{t+p} f(n-p)
\sum_{n=s}^j f(n) + \sum_{n=j+1}^t f(n) = \sum_{n=s}^t f(n)
\left(\sum_{i=k_0}^{k_1} a_i\right)\left(\sum_{j=l_0}^{l_1} b_j\right) = \sum_{i=k_0}^{k_1}\sum_{j=l_0}^{l_1} a_ib_j
\sum_{n=0}^t f(2n) + \sum_{n=0}^t f(2n+1) = \sum_{n=0}^{2t+1} f(n)
\sum_{n=0}^t \sum_{i=0}^{z-1} f(z\sdot n+i) = \sum_{n=0}^{z\sdot t+z-1} f(n)
\sum_{n=s}^t \ln f(n) = \ln \prod_{n=s}^t f(n)
c^{\left[\sum_{n=s}^t f(n) \right]} = \prod_{n=s}^t c^{f(n)}

Some summations of polynomial expressions

\sum_{i=m}^n 1 = n-m+1
\sum_{i=1}^n \frac{1}{i} = H_n (See Harmonic number)
\sum_{i=m}^n i = \frac{(n-m+1)(n+m)}{2} (see arithmetic series)
\sum_{i=0}^n i = \sum_{i=1}^n i = \frac{n(n+1)}{2} (Special case of the arithmetic series)
\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6} = \frac{n^3}{3} + \frac{n^2}{2} + \frac{n}{6}
\sum_{i=1}^n i^3 = \left(\frac{n(n+1)}{2}\right)^2 = \frac{n^4}{4} + \frac{n^3}{2} + \frac{n^2}{4} = \left[\sum_{i=1}^n i\right]^2
\sum_{i=1}^n i^4 = \frac{n(n+1)(2n+1)(3n^2+3n-1)}{30} = \frac{n^5}{5} + \frac{n^4}{2} + \frac{n^3}{3} - \frac{n}{30}
\sum_{i=0}^n i^p = \frac{(n+1)^{p+1}}{p+1} + \sum_{k=1}^p\frac{B_k}{p-k+1}{p\choose k}(n+1)^{p-k+1} where B_k denotes a Bernoulli number

Some summations involving exponential terms

In the summations below x is a constant unequal to 1

\sum_{i=m}^{n-1} x^i = \frac{x^m-x^n}{1-x} (m < n; see geometric series)
\sum_{i=0}^{n-1} x^i = \frac{1-x^n}{1-x} (geometric series starting at 1)
\sum_{i=0}^{n-1} i x^i = \frac{x-nx^n+(n-1)x^{n+1}}{(1-x)^2}
\sum_{i=0}^{n-1} i 2^i = 2+(n-2)2^{n} (special case when x = 2)
\sum_{i=0}^{n-1} \frac{i}{2^i} = 2-\frac{n+1}{2^{n-1}} (special case when x = 1/2)

Some summations involving binomial coefficients

There exist enormously many summation identities involving binomial coefficients (a whole chapter of Concrete Mathematics is devoted to just the basic techniques). Some of the most basic ones are the following.

\sum_{i=0}^n {n \choose i} = 2^n
\sum_{i=1}^{n} i{n \choose i} = n2^{n-1}
\sum_{i=0}^{n} i!\cdot{n \choose i} = \lfloor n!\cdot e \rfloor
\sum_{i=0}^{n-1} {i \choose k} = {n \choose k+1}
\sum_{i=0}^n {n \choose i}a^{(n-i)} b^i=(a + b)^n, the binomial theorem

Growth rates

The following are useful approximations (using theta notation):

\sum_{i=1}^n i^c = \Theta(n^{c+1}) for real c greater than −1
\sum_{i=1}^n \frac{1}{i} = \Theta(\log n) (See Harmonic number)
\sum_{i=1}^n c^i = \Theta(c^n) for real c greater than 1
\sum_{i=1}^n \log(i)^c = \Theta(n \cdot \log(n)^{c}) for nonnegative real c
\sum_{i=1}^n \log(i)^c \cdot i^d = \Theta(n^{d+1} \cdot \log(n)^{c}) for nonnegative real c, d
\sum_{i=1}^n \log(i)^c \cdot i^d \cdot b^i = \Theta (n^d \cdot \log(n)^c \cdot b^n) for nonnegative real b > 1, c, d

See also

Notes

  1. Although the name of the dummy variable does not matter (by definition), one usually uses letters from the middle of the alphabet (i through q) to denote integers, if there is a risk of confusion. For example, even if there should be no doubt about the interpretation, it could look slightly confusing to many mathematicians to see x instead of k in the above formulae involving k. See also typographical conventions in mathematical formulae.
  2. "Handbook of discrete and combinatorial mathematics", Kenneth H. Rosen, John G. Michaels, CRC Press, 1999, ISBN 0-8493-0149-1

Further reading

External links